package com.zdkj.subway.check.dto;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 2-2-15、售票员票款层级差异dto  SW_AU_CONDUCTOR_HIERARCHY_AMOUNT_DIFFERENCE
 */
@Data
public class SwAuConductorHierarchyAmountDifferenceDto {

    /**
     * 唯一标识
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    Integer id;
    /**
     * 售票员票款差异审核表id
     */
    Integer relationid;
    /**
     * 线路编码
     */
    String lineCode;
    /**
     * 车站编码
     */
    String stationCode;
    /**
     * 售票员工号
     */
    String conductorPersonCode;
    /**
     * 售票员名称
     */
    String conductorPersonName;
    /**
     * 设备操作号
     */
    String equipmentNumber;
    /**
     * BOM编号
     */
    String bomCode;
    /**
     * 对比类型
     */
    String comparativeType;
    /**
     * 协查前充值金额（如对比类型为1则SC金额，否则LC金额）
     */
    BigDecimal investAmount;
    /**
     * 协查前售票金额（如对比类型为1则SC金额，否则LC金额）
     */
    BigDecimal sellAmount;
    /**
     * 协查前补票金额（如对比类型为1则SC金额，否则LC金额）
     */
    BigDecimal faretkAmount;
    /**
     * 协查前对比充值金额（如对比类型为1则LC金额，否则ACC金额）
     */
    BigDecimal comparativeInvestAmount;
    /**
     * 协查前对比售票金额（如对比类型为1则LC金额，否则ACC金额）
     */
    BigDecimal comparativeSelltkAmount;
    /**
     * 协查前对比补票金额（如对比类型为1则LC金额，否则ACC金额）
     */
    BigDecimal comparativeFaretkAmount;
    /**
     * 协查前充值差异金额
     */
    BigDecimal diffInvestAmount;
    /**
     * 协查前售票差异金额
     */
    BigDecimal diffSelltkAmount;
    /**
     * 协查前补票差异金额
     */
    BigDecimal diffFaretkAmount;
    /**
     * 回馈充值金额（如对比类型为1则SC金额，否则LC金额）
     */
    BigDecimal replyInvestAmount;
    /**
     * 回馈售票金额（如对比类型为1则SC金额，否则LC金额）
     */
    BigDecimal replySellAmount;
    /**
     * 回馈补票金额（如对比类型为1则SC金额，否则LC金额）
     */
    BigDecimal replyFaretkAmount;
    /**
     * 回馈对比充值金额（如对比类型为1则LC金额，否则ACC金额）
     */
    BigDecimal replyComparativeInvestAmount;
    /**
     * 回馈对比售票金额（如对比类型为1则LC金额，否则ACC金额）
     */
    BigDecimal replyComparativeSelltkAmount;
    /**
     * 回馈对比补票金额（如对比类型为1则LC金额，否则ACC金额）
     */
    BigDecimal replyComparativeFaretkAmount;
    /**
     * 协查状态
     */
    String assistState;
    /**
     * 机电专业回馈差异原因
     */
    String jdReplyReason;
    /**
     * 机电专业回馈详情
     */
    String jdReplyDetail;
    /**
     * 机电回馈时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date jdReplyTime;
    /**
     * 机电回馈状态
     */
    String jdReplyStatus;
    /**
     * 清分专业回馈差异原因（字典）
     */
    String qfReplyReason;
    /**
     * 清分专业回馈详情
     */
    String qfReplyDetail;
    /**
     * 清分回馈时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date qfReplyTime;
    /**
     * 清分回馈状态
     */
    String qfReplyStatus;
    /**
     * 加入协查状态
     */
    String assitState;
    /**
     * 替换状态
     */
    String replaceStatus;
    /**
     * 替换时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date replaceTime;
    /**
     * 结算日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date settleTime;
    /**
     * 创建人ID
     */
    Integer creatorId;
    /**
     * 创建人名称
     */
    String creatorName;
    /**
     * 创建时间，系统当前时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date createTime;

    /**
     * 是否加入协查0否，1是
     */
    String isAddAssist;
    /**
     * 协查时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date assistTime;

    /**
     * 机电回馈时间
     */
    LocalDateTime jdReplyDateTime;

    /**
     * 结算日期
     */
    LocalDate settleDate;
}
